package com.tzxs.pay.main.baiduvoice;



import com.baidu.tts.client.SpeechSynthesizer;
import com.baidu.tts.client.TtsMode;
import com.tzxs.pay.main.app.TzApplication;

/**
 * 用户名 huhh
 * 时间  2018/9/13
 * 功能模块 百度语音的封装类
 **/
public class BaiduSpeechClient {

    private static volatile SpeechSynthesizer instance;

    // ================== 初始化参数设置开始 ==========================
    /**
     * 发布时请替换成自己申请的appId appKey 和 secretKey。注意如果需要离线合成功能,请在您申请的应用中填写包名。
     * 本demo的包名是com.tzxs.pay，定义在build.gradle中。
     */
    private static final String appId = "11808594";

    private static final String appKey = "6EYeYrf2zgNynyGwu9Uzv3eH";

    private static final String secretKey = "ubiPcPl873UMR3GgmUHU3dUOdKG6UcFo";


    public  static SpeechSynthesizer getInstance(){
        synchronized (SpeechSynthesizer.class){
            if (instance==null){
                instance=SpeechSynthesizer.getInstance();
                 init();
            }
          return instance;

        }

    }

    /**
     * 配置参数
     */
    public static void init(){

        instance.setContext(TzApplication.getInstance());
        instance.setAppId(appId);
        instance.setApiKey(appKey,secretKey);
        instance.initTts(TtsMode.ONLINE);
//        // 文本模型文件路径 (离线引擎使用)， 注意TEXT_FILENAME必须存在并且可读
//        instance.setParam(SpeechSynthesizer.PARAM_TTS_TEXT_MODEL_FILE, TEXT_FILENAME);
//        // 声学模型文件路径 (离线引擎使用)， 注意TEXT_FILENAME必须存在并且可读
//       instance.setParam(SpeechSynthesizer.PARAM_TTS_SPEECH_MODEL_FILE, MODEL_FILENAME);


        // 5. 以下setParam 参数选填。不填写则默认值生效
        // 设置在线发声音人： 0 普通女声（默认） 1 普通男声 2 特别男声 3 情感男声<度逍遥> 4 情感儿童声<度丫丫>
//        instance.setParam(SpeechSynthesizer.PARAM_SPEAKER, "0");
//        // 设置合成的音量，0-9 ，默认 5
//        instance.setParam(SpeechSynthesizer.PARAM_VOLUME, "9");
//        // 设置合成的语速，0-9 ，默认 5
//        instance.setParam(SpeechSynthesizer.PARAM_SPEED, "5");
//        // 设置合成的语调，0-9 ，默认 5
//        instance.setParam(SpeechSynthesizer.PARAM_PITCH, "5");
//
//        instance.setParam(SpeechSynthesizer.PARAM_MIX_MODE, SpeechSynthesizer.MIX_MODE_DEFAULT);


    }

   //释放资源
    public static void release(){
        instance.stop();
        instance.release();
        instance=null;
    }




}
